home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / knowhow4 / element.h < prev    next >
C/C++ Source or Header  |  1994-10-10  |  1KB  |  44 lines

  1. /* ELEMENT.H  Element is the "pressable object" which may be drawed using
  2.    vector graphics methods - lines, circles and so on */
  3.  
  4. #ifndef __ELEMENT_H_
  5. #define __ELEMENT_H_
  6.  
  7. #include "press.h"
  8.  
  9. enum { NO_ELEMENT = 1,
  10.        LEFT_ELEMENT, RIGHT_ELEMENT, UP_ELEMENT, // types of elements
  11.         DN_ELEMENT, PG_UP_ELEMENT, PG_DN_ELEMENT,// may be expanded
  12.         CANCEL_ELEMENT, OK_ELEMENT,
  13.         HOME_ELEMENT, END_ELEMENT, MOVE_ELEMENT, RESIZE_ELEMENT,
  14.         BLACK_ELEMENT, BLUE_ELEMENT, GREEN_ELEMENT, CYAN_ELEMENT,
  15.                 RED_ELEMENT, MAGENTA_ELEMENT, BROWN_ELEMENT,
  16.         LIGHTGRAY_ELEMENT, DARKGRAY_ELEMENT, LIGHTBLUE_ELEMENT,
  17.         LIGHTGREEN_ELEMENT, LIGHTCYAN_ELEMENT, LIGHTRED_ELEMENT,
  18.                 LIGHTMAGENTA_ELEMENT, YELLOW_ELEMENT, WHITE_ELEMENT };
  19.  
  20. class Element : public Press
  21.     {
  22.     protected:
  23.     int type;
  24.         int pattern;
  25.     public:
  26.     Element(loc l, int t, BORDERS b_type = BUTTON_BORDER,
  27.         int pat = 0)
  28.         : Press(rect(l.X, l.Y, l.X + 2, l.Y + 1), b_type)
  29.         { type = t; pattern = pat; }
  30.  
  31.     Element(rect c, int t, BORDERS b_type = BUTTON_BORDER,
  32.         int pat = 0, int tog = 0)
  33.         : Press(c, b_type, tog)
  34.         { type = t; pattern = pat; }
  35.  
  36.         int get_pattern() { return pattern; }
  37.     virtual void show();
  38.     virtual rect bounds()
  39.         { return tog ? rectangle : screenRect(rectangle); }
  40.         void set_type(int t) { type = t; }
  41.     };
  42.  
  43.  
  44. #endif __ELEMENT_H_